| автор перевода: Илья Михайлов | Предыдущая | Следующая | Оглавление |
Flash Player 7.
Класс ContextMenu представляет возможность контроля над элеменами контестного меню флэш проигрывателя, которое появляется п правому клику мыши в Windows или по Control-clicks (Macintosh) на флэш проигрывателе во время проигрывания клипа.Вы можете использовать методы и свойства класса ContextMenu для того, чтобы добавлять собственые элементы меню, контролировать отображение встроенных элементов меню (например, Zoom In и Print), или создавать копии меню.
Вы можете присоединить объект ContextMenu к определенной кнопке, мувиклипу или текстовому полю или к целому уровню клипа. Для этого вы можете использовать свойство menu классов мувиклипа, кнопки или текстового поля. Для того, чтобы получить больше информации о свойстве menu, смотрите Button.menu, MovieClip.menu, и TextField.menu.
Для того, чтобы добавить новые элементы к объекту ContextMenu, вы должны создать объект ContextMenuItem и затем добавить этот объект к массиву ContextMenu.customItems. Для получения дополнительной информации о создании контекстных элементов меню, см. ContextMenuItem class .
У флэш проигрывателя есть три типа контекстных меню: стандартное меню (которое появляется по правому клику мыши в флэш проигрывателе) , меню редактирования (которое появляется после правого клика мышью на выбираемом или редактируемом текстовом поле), и меню ошибки (которое появляется, когда флэш проигрыватель не может загрузить SWF файл). Только стандартное меню и меню редактирования может быть изменено при помощи класса ContextMenu.
Определенные разработчиком элементы меню всегда появляются в верхней части контестного меню флэш проигрывателя над видимыми стандартными элементами меню. Разделитель (separator bar) находится между добаввленными и встроенными элементами меню. Вы не можете добавить более 15 новых элементов меню в контекстное меню. Вы не можете удалить элемент меню "Установки" (Settings menu item) из контекстного меню. Этот элемент меню необходим, так как через него пользователь получает доступ к настройкам безопасности. Вы также не можете удалить из меню элемент About, так как с его помощью пользователь может получить информацию о версии проигрывателя, которой он пользуется.
Вы должны использовать конструктор new ContextMenu() для того, чтобы создать объект ContextMenu перед тем, как использовать его методы.
|
Метод |
Описание |
|---|---|
|
Возвращает копию опредленного объекта ContextMenu. |
|
Скрывает большинство встроенных элементов контекстного меню флэш проигрывателя. |
|
Свойство |
Описание |
|---|---|
|
Объект, чьи состовляющие соответствую встроенному контекстному меню. |
|
Массив, который содержит объекты ContextMenuItem. По умолчанию, не определен. |
|
Свойства |
Описание |
|---|---|
|
Срабатывает перед тем, как меню будет показано.. |
Flash Player 7.
new ContextMenu ([callBackFunction])
callBackFunction Ссылка на функцию, которая вызывается, когда пользователь нажиает правую кнопку мыши или Control-clicks, перед тем, как будет показано меню. Это необязательный параметр.
Ссылку на объект ContextMenu.
Конструктор, создает новый объект ContextMenu. Вы можете определить идентификатор для обработчика события, когда вы создаете объект. определенная функция вызывается, когда порльзователь открывает контекстное меню, но до того, как оно появится. Это используется для создания меню, содержимое которого зависит от текущего состояния приложения или типа объекта (клип, текстовое поле или кнопка) или таймлайна, в котором пользователь кликает правой кнопкой мыши или делает Control-clicks.(Для того, чтобы посмотреть пример, в которм создается обработчик события, см. ContextMenu.onSelect. )
В следующем примере показано, как можно скрыть все встроенные элементы контестного меню (элементы Settings и About останутся, потому что не могут быть скрыты).
var newMenu:ContextMenu = new ContextMenu(); newMenu.hideBuiltInItems(); this.menu = newMenu;
В этом примере обработчик события menuHandler включает и выключает дополнительные элементы меню (используя массив ContextMenu.customItems), и основываясь на значении булевой переменной с именем showItem. Если значение этой переменной равно false, дополнительный элемент меню будет отключен, в противном случае, он включается.
var showItem = true; // Change this to false to remove
var my_cm:ContextMenu = new ContextMenu(menuHandler);
my_cm.customItems.push(new ContextMenuItem("Hello", itemHandler));
function menuHandler(obj, menuObj) {
if (showItem == false) {
menuObj.customItems[0].enabled = false;
} else {
menuObj.customItems[0].enabled = true;
}
}
function itemHandler(obj, item) {
//...put code here...
trace("selected!");
}
this.menu = my_cm;
Когда пользователь нажимает правую кнопку мыши или делает Control-clicks на сцене, показывается созданное разработчиком меню.
Button.menu,ContextMenu.onSelect,ContextMenu.customItems,ContextMenu.hideBuiltInItems(),MovieClip.menu,TextField.menu
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |